﻿@using KL.Store.Core
@{
    ViewBag.Title = "Kategori Düzenleme";
    Layout = "~/Views/Shared/_LayoutReportPanel.cshtml";
}
<div id="processResult"></div>
<div id="categoryEdit" class="col-sm-12 col-md-10 right last">
    <div class="categoryEditMenu col-xs-12 col-sm-12 col-md-3 col-lg-3 first last" id="kategoriMenu">
        <div id="categoryEditMenuPlaceholder">
            @{Html.RenderAction("KategoriMenusu", "ReportPanel");}
        </div>
        <div class="clearfix"></div>
    </div>
    <div class="categoryEditRight col-xs-12 col-sm-12 col-md-9 col-lg-9 last" id="categoryEditRight">
        <div id="categoryEditContent"></div>
    </div>
</div>
<script>
    function selectCategoryForEdit(categoryId)
    {
        $('#processResult').show(0).html('<div class="bg-info loadingMsg"><p><i class="fa fa-spinner fa-spin"></i>&nbsp;Lütfen bekleyin.</p></div>');
        $('.active').removeClass('active');
        $('#category' + categoryId + ' a#caturl' + categoryId).addClass('active');
        $('#categoryEditContent').load('/ReportPanel/KategoriDuzenle', { CategoryId: categoryId }, function ()
        {
            $('.categoryEditRight').animate({ scrollTop: 0 }, 'slow');
            AjaxImageUploadJS('categoryEditRight', 'catImageUpload', 'catImageDrop', 'Kategori ANA RESİMİ olarak yüklenecektir, emin misiniz?');
            AjaxImageUploadJS('categoryEditRight', 'catBannerUpload', 'catBannerDrop', 'Kategori BANNER RESİMİ olarak yüklenecektir, emin misiniz?');
            $('.loadingMsg').remove();
        });
    }
    function kategoriGuncellendi(categoryId)
    {
        $('#processResult').show(0).html('<div class="bg-info"><p><i class="fa fa-info-circle"></i>&nbsp;Bilgiler Kaydedildi</p></div>').delay(5000).hide(0);
        $('#categoryEditContent').load('/ReportPanel/KategoriDuzenle', { CategoryId: categoryId }, function ()
        {
            AjaxImageUploadJS('categoryEditRight', 'catImageUpload', 'catImageDrop', 'Kategori ANA RESİMİ olarak yüklenecektir, emin misiniz?');
            AjaxImageUploadJS('categoryEditRight', 'catBannerUpload', 'catBannerDrop', 'Kategori BANNER RESİMİ olarak yüklenecektir, emin misiniz?');
        });
        $('#categoryEditMenuPlaceholder').load('/ReportPanel/KategoriMenusu', { selectedCategory: categoryId });
    }
    function kategoriEklendi(categoryId)
    {
        $('.active').removeClass('active');
        $('#processResult').show(0).html('<div class="bg-info"><p><i class="fa fa-info-circle"></i>&nbsp;Kategori Eklendi</p></div>').delay(5000).hide(0);
        $('#categoryEditContent').load('/ReportPanel/KategoriDuzenle', { CategoryId: categoryId }, function ()
        {
            $('.categoryEditRight').animate({ scrollTop: 0 }, 'slow');
        });
        $('#categoryEditMenuPlaceholder').load('/ReportPanel/KategoriMenusu', { selectedCategory: categoryId });
    }
    $(function ()
    {
        //hideSubCategories();
    });
    function hideSubCategories()
    {
        $('#categoryEditMenuPlaceholder ul').each(function ()
        {
            if ($(this).data('level') >= 2)
            {
                $(this).hide('fast');
            }
        });
    }
    $('.glyphicon-plus').live('click', function ()
    {
        var level = $(this).parent().parent().data('level');
        $(this).parent().find('ul').each(function ()
        {
            if ($(this).data('level') == level + 1)
            {
                $(this).show('fast');
            }
        });
        $(this).removeClass('glyphicon-plus');
        $(this).addClass('glyphicon-minus');
    });
    $('.glyphicon-minus').live('click', function ()
    {
        var level = $(this).parent().parent().data('level');
        $(this).parent().find('ul').each(function ()
        {
            $(this).hide('fast');
        });
        $(this).parent().find('i').removeClass('glyphicon-minus');
        $(this).parent().find('i').addClass('glyphicon-plus');
    });
    function AddNewCategory(ParentId)
    {
        $('#processResult').show(0).html('<div class="bg-info loadingMsg"><p><i class="fa fa-spinner fa-spin"></i>&nbsp;Lütfen bekleyin.</p></div>');
        $('#categoryEditContent').load('/ReportPanel/KategoriDuzenle', { CategoryId: 0, ParentCategoryId: ParentId }, function ()
        {
            $('.categoryEditRight').animate({ scrollTop: 0 }, 'slow');
            $('.loadingMsg').remove();
        });
    }
    function eklemeIptal(categoryId)
    {
        if (confirm('Emin misiniz?'))
        {
            selectCategoryForEdit(categoryId);
        }
    }
    function kategoriSil(categoryId, parentCategoryId, relatedProductcount)
    {
        if (confirm('Kategoriyi silmek istediğinizden emin misiniz? Bu işlem geri döndürülemez.'))
        {
            if (relatedProductcount > 0)
            {
                if (confirm('Kategoriye bağlı ürünler mevcut, yinede silmek istiyor musunuz?'))
                {
                    $.post('/ReportPanel/KategoriSil', { CategoryId: categoryId, ParentCategoryId: parentCategoryId });
                }
            }
            else
            {
                $.post('/ReportPanel/KategoriSil', { CategoryId: categoryId, ParentCategoryId: parentCategoryId });
            }
        }
    }

    function kategoriSilindi(parentCategoryId)
    {
        selectCategoryForEdit(parentCategoryId);
        $('#processResult').show(0).html('<div class="bg-info"><p><i class="fa fa-info-circle"></i>&nbsp;Kategori Silindi</p></div>').delay(5000).hide(0);
        $('#categoryEditMenuPlaceholder').load('/ReportPanel/KategoriMenusu', { selectedCategory: parentCategoryId });
    }

    var original = '';
    var newdata = '';
    var dbfield = '';
    var categoryid = '';
    var satirno = '';
    var row = '';
    var column = '';

    $('#CategoryEditExtraFieldsUpdate input').live('focusout', function ()
    {
        original = $(this).attr('data-orgg');
        newdata = $(this).val();
        dbfield = $(this).attr('data-field');
        categoryid = $(this).attr('data-idgrup');
        satirno = $(this).attr('data-satirno');
        row = $(this).parent().parent();
        column = $(this);
        //alert('orjin: ' + original + ' - new' + newdata);
        if (original != newdata)
        {
            UpdateExtraField(dbfield, newdata, categoryid, satirno, original, row, column);
        }
    });

    $('#CategoryEditExtraFieldsUpdate select').live('change', function ()
    {
        original = $(this).attr('data-orgg');
        newdata = $(this).val();
        dbfield = $(this).attr('data-field');
        categoryid = $(this).attr('data-idgrup');
        satirno = $(this).attr('data-satirno');
        row = $(this).parent().parent();
        column = $(this);
        UpdateExtraField(dbfield, newdata, categoryid, satirno, original, row, column);
    });

    function UpdateExtraField(dbfield, newdata, categoryid, satirno, original, row, column)
    {
        loadingMsg();
        $.post('/ReportPanel/KategoriExtraAlanGuncelle', { Field: dbfield, Value: newdata, CategoryId: categoryid, SatirNo: satirno, Original: original }, function (data)
        {
            $('.loadingMsg').remove();
            if (data == 'success')
            {
                column.attr('data-orgg', newdata);
                column.attr('value', newdata);
                if (dbfield == 'SATIRNO')
                {
                    row.find('input').attr('data-satirno', newdata);
                    row.find('select').attr('data-satirno', newdata);
                }
            }
            else
            {
                column.val(original);
                hataMesaji('Güncelleme işlemi sırasında bir hata oluştu.');
            }
        });
    }

    function AddExtraFieldHtml()
    {
        $('#AddExtraFieldPH').html($('#AddExtraFieldPHOrg').html());
        $('#AddExtraFieldPH').find('input[name=AddSatirNo]').focus();
    }

    function CancelAddExtraField()
    {
        var satirno = $('#AddExtraFieldPH').find('input[name=AddSatirNo]').val();
        var aciklama = $('#AddExtraFieldPH').find('input[name=AddAciklama]').val();
        var bilgi = $('#AddExtraFieldPH').find('input[name=AddBilgi]').val();
        var estoregoster = $('#AddExtraFieldPH').find('select[name=AddEstoreGoster]').val();
        if ((satirno == '' && aciklama == '' && bilgi == '') || confirm('Kaydetmeden kapatmak istediğinizden emin misiniz?'))
        {
            $('#AddExtraFieldPH').html('');
        }
    }

    function AddExtraField()
    {
        if ($('#AddExtraFieldPH').html() != '')
        {
            loadingMsg();
            var idgrup = $('#AddExtraFieldPH').find('input[name=AddSatirNo]').data('idgrup');
            var satirno = $('#AddExtraFieldPH').find('input[name=AddSatirNo]').val();
            var aciklama = $('#AddExtraFieldPH').find('input[name=AddAciklama]').val();
            var bilgi = $('#AddExtraFieldPH').find('input[name=AddBilgi]').val();
            var estoregoster = $('#AddExtraFieldPH').find('select[name=AddEstoreGoster]').val();
            if (!$.isNumeric(satirno))
            {
                hataMesaji('Satır numarasına sayı girilmelidir.');
            }
            else if (satirno != '' && aciklama != '' && estoregoster != '')
            {
                $.post('/ReportPanel/KategoriExtraAlanEkle', { CategoryId: idgrup, SatirNo: satirno, Aciklama: aciklama, Bilgi: bilgi, EstoreGoster: estoregoster });
            }
            else
            {
                hataMesaji('Lütfen tüm gerekli alanları doldurun.');
            }

        }
    }

    function ekstraAlanEklendi()
    {
        var idgrup = $('#AddExtraFieldPH').find('input[name=AddSatirNo]').data('idgrup');
        var satirno = $('#AddExtraFieldPH').find('input[name=AddSatirNo]').val();
        var aciklama = $('#AddExtraFieldPH').find('input[name=AddAciklama]').val();
        var bilgi = $('#AddExtraFieldPH').find('input[name=AddBilgi]').val();
        var estoregoster = $('#AddExtraFieldPH').find('select[name=AddEstoreGoster]').val();

        var buildstr = '';
        buildstr += '<tr>';
        buildstr += '<td><input type="text" name="SatirNo' + satirno + '" data-satirno="' + satirno + '" data-idgrup="' + idgrup + '" data-field="SATIRNO" data-orgg="' + satirno + '" value="' + satirno + '" /></td>';
        buildstr += '<td><input type="text" name="Aciklama' + satirno + '" data-satirno="' + satirno + '" data-idgrup="' + idgrup + '" data-field="ACIKLAMA" data-orgg="' + aciklama + '" value="' + aciklama + '" /></td>';
        buildstr += '<td><input type="text" name="Bilgi' + satirno + '" data-satirno="' + satirno + '" data-idgrup="' + idgrup + '" data-field="BILGI" data-orgg="' + bilgi + '" value="' + bilgi + '" /></td>';
        buildstr += '<td>';
        if (estoregoster == '0')
        {
            buildstr += '<select name="EstoreGoster' + satirno + '" data-satirno="' + satirno + '" data-idgrup="' + idgrup + '" data-field="ESTOREGOSTER" data-orgg="' + estoregoster + '" >';
            buildstr += '<option value="0" selected="selected">Gösterme</option>';
            buildstr += '<option value="1">Göster</option>';
            buildstr += '</select>';
        }
        else
        {
            buildstr += '<select name="EstoreGoster' + satirno + '" data-satirno="' + satirno + '" data-idgrup="' + idgrup + '" data-field="ESTOREGOSTER" data-orgg="' + estoregoster + '" >';
            buildstr += '<option value="0">Gösterme</option>';
            buildstr += '<option value="1" selected="selected">Göster</option>';
            buildstr += '</select>';
        }
        buildstr += '</td>';
        buildstr += '</tr>';
        $('#CategoryEditExtraFieldsUpdate tbody').append(buildstr);
        $('#AddExtraFieldPH').html('');
        $('.loadingMsg').remove();
    }
    function ImageUploadOk()
    {

    }

</script>
